unit Ufrmconsultaacesso;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, Wwdbigrd, Wwdbgrid, RXCtrls, ExtCtrls, StdCtrls, Menus, RxMenus,
  lmdbtn, lmdctrl, lmdmmS, Mask, ToolEdit, wwdblook, Wwdbdlg, XP_Button;

type
  TFrmconsultaacesso = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    RxLabel1: TRxLabel;
    LMDButton1: TLMDButton;
    Panel3: TPanel;
    lbltitulo: TRxLabel;
    lble: TRxLabel;
    btnconsultar: TLMD3DEffectButton;
    DateEdit1: TDateEdit;
    DateEdit2: TDateEdit;
    grpacessos: TRadioGroup;
    grpdata: TRadioGroup;
    wwbusca: TwwDBLookupComboDlg;
    RxPopupMenu1: TRxPopupMenu;
    ProCliente1: TMenuItem;
    PorData1: TMenuItem;
    EntreDatas1: TMenuItem;
    Porestao1: TMenuItem;
    Panel4: TPanel;
    wwDBGrid1: TwwDBGrid;
    Panel5: TPanel;
    tfXPButton1: TtfXPButton;
    tfXPButton2: TtfXPButton;
    procedure wwDBGrid1TopRowChanged(Sender: TObject);
    procedure ProCliente1Click(Sender: TObject);
    procedure PorData1Click(Sender: TObject);
    procedure EntreDatas1Click(Sender: TObject);
    procedure Porestao1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btnconsultarClick(Sender: TObject);
    procedure tfXPButton2Click(Sender: TObject);
    procedure tfXPButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frmconsultaacesso: TFrmconsultaacesso;
  con : string;
  
implementation
uses modulo, ufrmrelacessos;
{$R *.DFM}

procedure TFrmconsultaacesso.wwDBGrid1TopRowChanged(Sender: TObject);
begin
  wwDBGrid1.Invalidate;
end;

procedure TFrmconsultaacesso.ProCliente1Click(Sender: TObject);
begin
   lbltitulo.visible := true;
   lbltitulo.caption := 'Digite o Nome do Cliente a ser consultado:';
   wwbusca.visible := true;
   wwbusca.LookupField := 'Cliente';
   wwbusca.CharCase := ecuppercase;   
   wwbusca.setfocus;
   grpacessos.visible := true;
   grpdata.visible := true;
   btnconsultar.visible := true;
   //=
   dateedit1.visible := false;
   dateedit2.Visible := false;
   lble.visible := false;
   wwDBGrid1.visible := false;
   con := 'cliente';
end;

procedure TFrmconsultaacesso.PorData1Click(Sender: TObject);
begin
   dateedit1.visible := true;
   dateedit1.setfocus;
   btnconsultar.visible := true;
   grpacessos.visible := true;
   lbltitulo.visible := true;
   lbltitulo.caption := 'Digite a Data a ser consultada:';
   //==
   wwbusca.visible := false;
   grpdata.visible := false;
   dateedit2.visible := false;
   lble.visible := false;
   wwDBGrid1.visible := false;
   con := 'data';
end;

procedure TFrmconsultaacesso.EntreDatas1Click(Sender: TObject);
begin
   dateedit1.visible := true;
   dateedit1.setfocus;
   dateedit2.visible := true;
   lble.Visible := true;
   btnconsultar.visible := true;
   grpacessos.visible := true;
   lbltitulo.visible := true;
   lbltitulo.caption := 'Digite as Datas a serem consultadas:';
   //==
   wwbusca.visible := false;
   grpdata.visible := false;
   wwDBGrid1.Visible := false;
   con := 'entre';
end;

procedure TFrmconsultaacesso.Porestao1Click(Sender: TObject);
begin
   lbltitulo.visible := true;
   lbltitulo.caption := 'Digite o nome do computador a ser pesquizado:';
   wwbusca.visible := true;
   wwbusca.setfocus;
   wwbusca.LookupField := 'Terminal';
   wwbusca.CharCase := ecnormal;
   grpacessos.visible := true;
   grpdata.visible := true;
   btnconsultar.visible := true;
   //=
   dateedit1.visible := false;
   dateedit2.Visible := false;
   lble.visible := false;
   wwDBGrid1.visible := false;
   con := 'computador';
end;

procedure TFrmconsultaacesso.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
   Action := CaFree;
end;

procedure TFrmconsultaacesso.btnconsultarClick(Sender: TObject);
var
  texto : string;
begin
   DMEscola.Qconsultaacesso.close;
   DMEscola.Qconsultaacesso.SQL.clear;
   if con = 'cliente' then
   begin
      if grpacessos.ItemIndex = 0 then
      begin
         if grpdata.ItemIndex = 0 then
         begin
            DMEscola.Qconsultaacesso.SQL.Add('Select * From venda_acesso');
            DMEscola.Qconsultaacesso.SQL.Add('Where Cliente = :nome');
            DMEscola.Qconsultaacesso.ParamByName('nome').AsString := wwbusca.Text;
            DMEscola.Qconsultaacesso.open
         end
         else
         begin
            DMEscola.Qconsultaacesso.SQL.Add('Select * From venda_acesso');
            DMEscola.Qconsultaacesso.SQL.Add('Where (Cliente = :nome) and');
            DMEscola.Qconsultaacesso.SQL.Add('(Data = :nome2)');
            DMEscola.Qconsultaacesso.ParamByName('nome').AsString := wwbusca.Text;
            DMEscola.Qconsultaacesso.ParamByName('nome2').AsDate := Date;
            DMEscola.Qconsultaacesso.open
         end;
      end
      else
      begin
         if grpdata.ItemIndex = 0 then
         begin
            DMEscola.Qconsultaacesso.SQL.Add('Select * From venda_acesso');
            DMEscola.Qconsultaacesso.SQL.Add('Where (cliente = :nome) and');
            DMEscola.Qconsultaacesso.SQL.Add('pago = :nome2');
            DMEscola.Qconsultaacesso.ParamByName('nome').AsString := wwbusca.Text;
            if grpacessos.ItemIndex = 1 then
               DMEscola.Qconsultaacesso.ParamByName('nome2').AsString := 'true'
            else
               DMEscola.Qconsultaacesso.ParamByName('nome2').AsString := 'false';
            DMEscola.Qconsultaacesso.open
         end
         else
         begin
            DMEscola.Qconsultaacesso.SQL.Add('Select * From venda_acesso');
            DMEscola.Qconsultaacesso.SQL.Add('Where cliente = :nome and');
            DMEscola.Qconsultaacesso.SQL.Add('pago = :nome2 and');
            DMEscola.Qconsultaacesso.SQL.Add('data = :nome3');
            DMEscola.Qconsultaacesso.ParamByName('nome').AsString := wwbusca.Text;
            DMEscola.Qconsultaacesso.ParamByName('nome3').AsDateTime := Date;
            if grpacessos.ItemIndex = 1 then
               DMEscola.Qconsultaacesso.ParamByName('nome2').AsString := 'true'
            else
               DMEscola.Qconsultaacesso.ParamByName('nome2').AsString := 'false';
            DMEscola.Qconsultaacesso.open
         end;
      end;
   end;
   if con = 'data' then
   begin
      if grpacessos.ItemIndex = 0 then
      begin
         DMEscola.Qconsultaacesso.SQL.Add('Select * From venda_acesso');
         DMEscola.Qconsultaacesso.SQL.Add('Where data = :nome');
         DMEscola.Qconsultaacesso.ParamByName('nome').AsDateTime := dateedit1.Date;
         DMEscola.Qconsultaacesso.open
      end
      else
      begin
         DMEscola.Qconsultaacesso.SQL.Add('Select * From venda_acesso');
         DMEscola.Qconsultaacesso.SQL.Add('Where data = :nome and');
         DMEscola.Qconsultaacesso.SQL.Add('pago = :nome2');
         DMEscola.Qconsultaacesso.ParamByName('nome').AsDateTime := dateedit1.Date;
         if grpacessos.ItemIndex = 1 then
            DMEscola.Qconsultaacesso.ParamByName('nome2').AsString := 'true'
         else
            DMEscola.Qconsultaacesso.ParamByName('nome2').AsString := 'false';
         DMEscola.Qconsultaacesso.open
      end;
   end;
   if con = 'entre' then
   begin
      if grpacessos.ItemIndex = 0 then
      begin
         DMEscola.Qconsultaacesso.SQL.Add('Select * From venda_acesso');
         DMEscola.Qconsultaacesso.SQL.Add('Where data >= :nome and');
         DMEscola.Qconsultaacesso.SQL.Add('data <= :nome2');
         DMEscola.Qconsultaacesso.ParamByName('nome').AsDateTime := dateedit1.date;
         DMEscola.Qconsultaacesso.ParamByName('nome2').AsDateTime := dateedit2.date;
         DMEscola.Qconsultaacesso.open
      end
      else
      begin
         DMEscola.Qconsultaacesso.SQL.Add('Select * From venda_acesso');
         DMEscola.Qconsultaacesso.SQL.Add('Where data >= :nome and');
         DMEscola.Qconsultaacesso.SQL.Add('data <= :nome2 and');
         DMEscola.Qconsultaacesso.SQL.Add('Pago = :nome3 and');
         DMEscola.Qconsultaacesso.ParamByName('nome').AsDateTime := dateedit1.date;
         DMEscola.Qconsultaacesso.ParamByName('nome2').AsDateTime := dateedit2.date;
         if grpacessos.ItemIndex = 1 then
            DMEscola.Qconsultaacesso.ParamByName('nome3').AsString := 'true'
         else
            DMEscola.Qconsultaacesso.ParamByName('nome3').AsString := 'false';
         DMEscola.Qconsultaacesso.open
      end;
   end;
   if con = 'computador' then
   begin
      if grpacessos.ItemIndex = 0 then
      begin
         if grpdata.ItemIndex = 0 then
         begin
            DMEscola.Qconsultaacesso.SQL.Add('Select * From venda_acesso');
            DMEscola.Qconsultaacesso.SQL.Add('Where terminal = :nome');
            DMEscola.Qconsultaacesso.ParamByName('nome').AsString := wwbusca.Text;
            DMEscola.Qconsultaacesso.open
         end
         else
         begin
            DMEscola.Qconsultaacesso.SQL.Add('Select * From venda_acesso');
            DMEscola.Qconsultaacesso.SQL.Add('Where (terminal = :nome) and');
            DMEscola.Qconsultaacesso.SQL.Add('(Data = :nome2)');
            DMEscola.Qconsultaacesso.ParamByName('nome').AsString := wwbusca.Text;
            DMEscola.Qconsultaacesso.ParamByName('nome2').AsDate := Date;
            DMEscola.Qconsultaacesso.open
         end;
      end
      else
      begin
         if grpdata.ItemIndex = 0 then
         begin
            DMEscola.Qconsultaacesso.SQL.Add('Select * From venda_acesso');
            DMEscola.Qconsultaacesso.SQL.Add('Where (terminal = :nome) and');
            DMEscola.Qconsultaacesso.SQL.Add('pago = :nome2');
            DMEscola.Qconsultaacesso.ParamByName('nome').AsString := wwbusca.Text;
            if grpacessos.ItemIndex = 1 then
               DMEscola.Qconsultaacesso.ParamByName('nome2').AsString := 'true'
            else
               DMEscola.Qconsultaacesso.ParamByName('nome2').AsString := 'false';
            DMEscola.Qconsultaacesso.open
         end
         else
         begin
            DMEscola.Qconsultaacesso.SQL.Add('Select * From venda_acesso');
            DMEscola.Qconsultaacesso.SQL.Add('Where terminal = :nome and');
            DMEscola.Qconsultaacesso.SQL.Add('pago = :nome2 and');
            DMEscola.Qconsultaacesso.SQL.Add('data = :nome3');
            DMEscola.Qconsultaacesso.ParamByName('nome').AsString := wwbusca.Text;
            DMEscola.Qconsultaacesso.ParamByName('nome3').AsDateTime := Date;
            if grpacessos.ItemIndex = 1 then
               DMEscola.Qconsultaacesso.ParamByName('nome2').AsString := 'true'
            else
               DMEscola.Qconsultaacesso.ParamByName('nome2').AsString := 'false';
            DMEscola.Qconsultaacesso.open
         end;
      end;
   end;
   texto := DMEscola.QconsultaacessoCliente.value;
   if texto <> '' then
   begin
      wwDBGrid1.Visible := true;
      wwDBGrid1.SetFocus
   end
   else
      Showmessage('Não foram encontrados registros com essa descrição!');
   //== depois de mostrar ocultar ferramentas
   dateedit1.visible := false;
   dateedit2.visible := false;
   btnconsultar.visible := false;
   grpacessos.visible := false;
   grpdata.visible := false;
   lbltitulo.visible := false;
   wwbusca.visible := false;
   lble.visible := false;
end;

procedure TFrmconsultaacesso.tfXPButton2Click(Sender: TObject);
begin
   FrmRelAcessos := TFrmRelAcessos.Create(self);
   FrmRelAcessos.QuickRep1.Preview;
end;

procedure TFrmconsultaacesso.tfXPButton1Click(Sender: TObject);
begin
   close;
end;

end.
